package com.ruoyi.huanghefd.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * 有限空间作业审批单
 * @TableName limit_work_approve_sheet
 */
@TableName(value ="limit_work_approve_sheet")
@Data
public class LimitWorkApproveSheet implements Serializable {
    /**
     * id
     */
    @TableField(value = "ls_id")
    private String lsId;

    /**
     * 有限空间作业审批单编号
     */
    @TableField(value = "ls_code")
    private String lsCode;

    /**
     * 审批状态
     */
    @TableField(value = "ls_state")
    private String lsState;
    /**
     * 部门班组
     */
    @TableField(value = "ls_dept")
    private String lsDept;

    /**
     * 工作地点及设备名称
     */
    @TableField(value = "addr")
    private String addr;

    /**
     * 作业内容
     */
    @TableField(value = "contxt")
    private String contxt;

    /**
     * 作业申请开始时间
     */
    @TableField(value = "start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /**
     * 作业申请结束时间
     */
    @TableField(value = "end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    /**
     * 工作负责人id
     */
    @TableField(value = "principalid")
    private String principalid;

    /**
     * 工作负责人
     */
    @TableField(value = "principal")
    private String principal;

    /**
     * 监护人id
     */
    @TableField(value = "guardianid")
    private String guardianid;

    /**
     * 监护人
     */
    @TableField(value = "guardian")
    private String guardian;

    /**
     * 工作人员
     */
    @TableField(value = "member")
    private String member;

    /**
     * 工作人员人数
     */
    @TableField(value = "member_num")
    private Integer memberNum;

    /**
     * 危害识别:A-有毒有害气体,B-易燃易爆气体、粉尘,C-掩埋、淹没,D-触电,E-火灾,F-高温、低温,G-转动设备,H-跌落、滑跌,I-蒸汽,J-粉尘,K-其他
     */
    @TableField(value = "harm")
    private String harm;

    /**
     * harm=K时，这里填其他明细
     */
    @TableField(value = "harm_others")
    private String harmOthers;

    /**
     * 安全措施：A-吹扫、置换、清洗,B-机械通风,C-自然通风,D-其他措施
     */
    @TableField(value = "measure")
    private String measure;

    /**
     * measure=A吹扫、置换、清洗时，这里填明细
     */
    @TableField(value = "measureA")
    private String measurea;

    /**
     * measure=D其他时，这里填明细
     */
    @TableField(value = "measure_others")
    private String measureOthers;

    /**
     * 防护措施-检测仪
     */
    @TableField(value = "protect_detector")
    private String protectDetector;

    /**
     * 防护措施-检测仪-台数
     */
    @TableField(value = "protect_detector_num")
    private Integer protectDetectorNum;

    /**
     * 防护措施-呼吸防护用品
     */
    @TableField(value = "protect_breathe")
    private String protectBreathe;

    /**
     * 防护措施-呼吸防护用品-套数
     */
    @TableField(value = "protect_breathe_num")
    private Integer protectBreatheNum;

    /**
     * 防护措施-坠落防护用品
     */
    @TableField(value = "protect_fall")
    private String protectFall;

    /**
     * 防护措施-坠落防护用品-套数
     */
    @TableField(value = "protect_fall_num")
    private Integer protectFallNum;

    /**
     * 防护措施-安全器具
     */
    @TableField(value = "protect_tool")
    private String protectTool;

    /**
     * 防护措施-安全器具-件数
     */
    @TableField(value = "protect_tool_num")
    private Integer protectToolNum;

    /**
     * 防护措施-其他个人防护用品
     */
    @TableField(value = "protect_others")
    private String protectOthers;

    /**
     * 以上安全防护措施是否符合要求,0-否，1-是
     */
    @TableField(value = "measure_is")
    private String measureIs;

    /**
     * 工作票负责人监护人-签字时间
     */
    @TableField(value = "sign_time1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime1;

    /**
     * 部门安全专工部门负责人-签字时间
     */
    @TableField(value = "sign_time2")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime2;

    /**
     * 生技部专工负责人-签字时间
     */
    @TableField(value = "sign_time3")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime3;

    /**
     * 安全质量环保监察部安全专工负责人签字时间
     */
    @TableField(value = "sign_time4")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime4;

    /**
     * 是否批准,0-否，1-是
     */
    @TableField(value = "is_approve")
    private String isApprove;

    /**
     * 副总经理（生产）-签字日期
     */
    @TableField(value = "sign_time5")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime5;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        LimitWorkApproveSheet other = (LimitWorkApproveSheet) that;
        return (this.getLsId() == null ? other.getLsId() == null : this.getLsId().equals(other.getLsId()))
            && (this.getLsCode() == null ? other.getLsCode() == null : this.getLsCode().equals(other.getLsCode()))
            && (this.getLsDept() == null ? other.getLsDept() == null : this.getLsDept().equals(other.getLsDept()))
            && (this.getAddr() == null ? other.getAddr() == null : this.getAddr().equals(other.getAddr()))
            && (this.getContxt() == null ? other.getContxt() == null : this.getContxt().equals(other.getContxt()))
            && (this.getStartTime() == null ? other.getStartTime() == null : this.getStartTime().equals(other.getStartTime()))
            && (this.getEndTime() == null ? other.getEndTime() == null : this.getEndTime().equals(other.getEndTime()))
            && (this.getPrincipalid() == null ? other.getPrincipalid() == null : this.getPrincipalid().equals(other.getPrincipalid()))
            && (this.getPrincipal() == null ? other.getPrincipal() == null : this.getPrincipal().equals(other.getPrincipal()))
            && (this.getGuardianid() == null ? other.getGuardianid() == null : this.getGuardianid().equals(other.getGuardianid()))
            && (this.getGuardian() == null ? other.getGuardian() == null : this.getGuardian().equals(other.getGuardian()))
            && (this.getMember() == null ? other.getMember() == null : this.getMember().equals(other.getMember()))
            && (this.getMemberNum() == null ? other.getMemberNum() == null : this.getMemberNum().equals(other.getMemberNum()))
            && (this.getHarm() == null ? other.getHarm() == null : this.getHarm().equals(other.getHarm()))
            && (this.getHarmOthers() == null ? other.getHarmOthers() == null : this.getHarmOthers().equals(other.getHarmOthers()))
            && (this.getMeasure() == null ? other.getMeasure() == null : this.getMeasure().equals(other.getMeasure()))
            && (this.getMeasurea() == null ? other.getMeasurea() == null : this.getMeasurea().equals(other.getMeasurea()))
            && (this.getMeasureOthers() == null ? other.getMeasureOthers() == null : this.getMeasureOthers().equals(other.getMeasureOthers()))
            && (this.getProtectDetector() == null ? other.getProtectDetector() == null : this.getProtectDetector().equals(other.getProtectDetector()))
            && (this.getProtectDetectorNum() == null ? other.getProtectDetectorNum() == null : this.getProtectDetectorNum().equals(other.getProtectDetectorNum()))
            && (this.getProtectBreathe() == null ? other.getProtectBreathe() == null : this.getProtectBreathe().equals(other.getProtectBreathe()))
            && (this.getProtectBreatheNum() == null ? other.getProtectBreatheNum() == null : this.getProtectBreatheNum().equals(other.getProtectBreatheNum()))
            && (this.getProtectFall() == null ? other.getProtectFall() == null : this.getProtectFall().equals(other.getProtectFall()))
            && (this.getProtectFallNum() == null ? other.getProtectFallNum() == null : this.getProtectFallNum().equals(other.getProtectFallNum()))
            && (this.getProtectTool() == null ? other.getProtectTool() == null : this.getProtectTool().equals(other.getProtectTool()))
            && (this.getProtectToolNum() == null ? other.getProtectToolNum() == null : this.getProtectToolNum().equals(other.getProtectToolNum()))
            && (this.getProtectOthers() == null ? other.getProtectOthers() == null : this.getProtectOthers().equals(other.getProtectOthers()))
            && (this.getMeasureIs() == null ? other.getMeasureIs() == null : this.getMeasureIs().equals(other.getMeasureIs()))
            && (this.getSignTime1() == null ? other.getSignTime1() == null : this.getSignTime1().equals(other.getSignTime1()))
            && (this.getSignTime2() == null ? other.getSignTime2() == null : this.getSignTime2().equals(other.getSignTime2()))
            && (this.getSignTime3() == null ? other.getSignTime3() == null : this.getSignTime3().equals(other.getSignTime3()))
            && (this.getSignTime4() == null ? other.getSignTime4() == null : this.getSignTime4().equals(other.getSignTime4()))
            && (this.getIsApprove() == null ? other.getIsApprove() == null : this.getIsApprove().equals(other.getIsApprove()))
            && (this.getSignTime5() == null ? other.getSignTime5() == null : this.getSignTime5().equals(other.getSignTime5()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getLsId() == null) ? 0 : getLsId().hashCode());
        result = prime * result + ((getLsCode() == null) ? 0 : getLsCode().hashCode());
        result = prime * result + ((getLsDept() == null) ? 0 : getLsDept().hashCode());
        result = prime * result + ((getAddr() == null) ? 0 : getAddr().hashCode());
        result = prime * result + ((getContxt() == null) ? 0 : getContxt().hashCode());
        result = prime * result + ((getStartTime() == null) ? 0 : getStartTime().hashCode());
        result = prime * result + ((getEndTime() == null) ? 0 : getEndTime().hashCode());
        result = prime * result + ((getPrincipalid() == null) ? 0 : getPrincipalid().hashCode());
        result = prime * result + ((getPrincipal() == null) ? 0 : getPrincipal().hashCode());
        result = prime * result + ((getGuardianid() == null) ? 0 : getGuardianid().hashCode());
        result = prime * result + ((getGuardian() == null) ? 0 : getGuardian().hashCode());
        result = prime * result + ((getMember() == null) ? 0 : getMember().hashCode());
        result = prime * result + ((getMemberNum() == null) ? 0 : getMemberNum().hashCode());
        result = prime * result + ((getHarm() == null) ? 0 : getHarm().hashCode());
        result = prime * result + ((getHarmOthers() == null) ? 0 : getHarmOthers().hashCode());
        result = prime * result + ((getMeasure() == null) ? 0 : getMeasure().hashCode());
        result = prime * result + ((getMeasurea() == null) ? 0 : getMeasurea().hashCode());
        result = prime * result + ((getMeasureOthers() == null) ? 0 : getMeasureOthers().hashCode());
        result = prime * result + ((getProtectDetector() == null) ? 0 : getProtectDetector().hashCode());
        result = prime * result + ((getProtectDetectorNum() == null) ? 0 : getProtectDetectorNum().hashCode());
        result = prime * result + ((getProtectBreathe() == null) ? 0 : getProtectBreathe().hashCode());
        result = prime * result + ((getProtectBreatheNum() == null) ? 0 : getProtectBreatheNum().hashCode());
        result = prime * result + ((getProtectFall() == null) ? 0 : getProtectFall().hashCode());
        result = prime * result + ((getProtectFallNum() == null) ? 0 : getProtectFallNum().hashCode());
        result = prime * result + ((getProtectTool() == null) ? 0 : getProtectTool().hashCode());
        result = prime * result + ((getProtectToolNum() == null) ? 0 : getProtectToolNum().hashCode());
        result = prime * result + ((getProtectOthers() == null) ? 0 : getProtectOthers().hashCode());
        result = prime * result + ((getMeasureIs() == null) ? 0 : getMeasureIs().hashCode());
        result = prime * result + ((getSignTime1() == null) ? 0 : getSignTime1().hashCode());
        result = prime * result + ((getSignTime2() == null) ? 0 : getSignTime2().hashCode());
        result = prime * result + ((getSignTime3() == null) ? 0 : getSignTime3().hashCode());
        result = prime * result + ((getSignTime4() == null) ? 0 : getSignTime4().hashCode());
        result = prime * result + ((getIsApprove() == null) ? 0 : getIsApprove().hashCode());
        result = prime * result + ((getSignTime5() == null) ? 0 : getSignTime5().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", lsId=").append(lsId);
        sb.append(", lsCode=").append(lsCode);
        sb.append(", lsDept=").append(lsDept);
        sb.append(", addr=").append(addr);
        sb.append(", contxt=").append(contxt);
        sb.append(", startTime=").append(startTime);
        sb.append(", endTime=").append(endTime);
        sb.append(", principalid=").append(principalid);
        sb.append(", principal=").append(principal);
        sb.append(", guardianid=").append(guardianid);
        sb.append(", guardian=").append(guardian);
        sb.append(", member=").append(member);
        sb.append(", memberNum=").append(memberNum);
        sb.append(", harm=").append(harm);
        sb.append(", harmOthers=").append(harmOthers);
        sb.append(", measure=").append(measure);
        sb.append(", measurea=").append(measurea);
        sb.append(", measureOthers=").append(measureOthers);
        sb.append(", protectDetector=").append(protectDetector);
        sb.append(", protectDetectorNum=").append(protectDetectorNum);
        sb.append(", protectBreathe=").append(protectBreathe);
        sb.append(", protectBreatheNum=").append(protectBreatheNum);
        sb.append(", protectFall=").append(protectFall);
        sb.append(", protectFallNum=").append(protectFallNum);
        sb.append(", protectTool=").append(protectTool);
        sb.append(", protectToolNum=").append(protectToolNum);
        sb.append(", protectOthers=").append(protectOthers);
        sb.append(", measureIs=").append(measureIs);
        sb.append(", signTime1=").append(signTime1);
        sb.append(", signTime2=").append(signTime2);
        sb.append(", signTime3=").append(signTime3);
        sb.append(", signTime4=").append(signTime4);
        sb.append(", isApprove=").append(isApprove);
        sb.append(", signTime5=").append(signTime5);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}